home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / swingall.jar / javax / swing / tree / DefaultMutableTreeNode$PreorderEnumeration.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-07-15  |  1.2 KB  |  39 lines

  1. package javax.swing.tree;
  2.  
  3. import java.util.Enumeration;
  4. import java.util.Stack;
  5. import java.util.Vector;
  6.  
  7. final class DefaultMutableTreeNode$PreorderEnumeration implements Enumeration {
  8.    // $FF: synthetic field
  9.    private final DefaultMutableTreeNode this$0;
  10.    protected Stack stack;
  11.  
  12.    public DefaultMutableTreeNode$PreorderEnumeration(DefaultMutableTreeNode var1, TreeNode var2) {
  13.       this.this$0 = var1;
  14.       Vector var3 = new Vector(1);
  15.       var3.addElement(var2);
  16.       this.stack = new Stack();
  17.       this.stack.push(var3.elements());
  18.    }
  19.  
  20.    public boolean hasMoreElements() {
  21.       return !this.stack.empty() && ((Enumeration)this.stack.peek()).hasMoreElements();
  22.    }
  23.  
  24.    public Object nextElement() {
  25.       Enumeration var1 = (Enumeration)this.stack.peek();
  26.       TreeNode var2 = (TreeNode)var1.nextElement();
  27.       Enumeration var3 = var2.children();
  28.       if (!var1.hasMoreElements()) {
  29.          this.stack.pop();
  30.       }
  31.  
  32.       if (var3.hasMoreElements()) {
  33.          this.stack.push(var3);
  34.       }
  35.  
  36.       return var2;
  37.    }
  38. }
  39.